home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC Gamer (Italian) 35
/
PC Gamer IT CD 35 2-2.iso
/
STARDEMO
/
Starsiege_ATR2.exe
/
Starsiege
/
Docs
/
Input.txt
< prev
next >
Wrap
Text File
|
1998-07-21
|
15KB
|
343 lines
----------------------------------------------------------------------------------------------------
INPUT MAPPING HELP TEXT
----------------------------------------------------------------------------------------------------
The purpose of this document is explain how to use StarSiege's input mapping utility.
It will allow complete control over how you control your HERC.
SECTIONS:
1. CHANGES
2. CREATING A CUSTOM KEYMAPPING
3. USING MAKES AND BREAKS
4. USING PARAMETERS
5. LOADING A CUSTOM KEYMAPPING
6. INPUT
7. ACTION DEFINITIONS
8. EXAMPLES
1. CHANGES
---------------------------------------------------------------------------------------
Since the first ATR, there have been several changes with keymapping. The syntax has been changed slightly to look
more like a C function call. For example, the statement "bindAction keyboard make p TO ACTION_FIRE 1.0"
now would look like:
bindAction( keyboard, make, p, TO, IDACTION_FIRE, 1.0);
Note that after each bindAction call, you must include a ";". This is true in for all *.cs files.
Additionally, almost all previous action tags (e.g.,ACTION_FIRE), have been preserved,
except now all action tags start with "ID".
Another change is the firing system. The current system is based around weapon groups and firing chains.
There are 3 weapon groups to which a weapon can belong ( a weapon can belong to multiple groups). When you fire,
the currently selected weapon group executes in 1 of 2 modes, either Series, or All. The Series mode will fire all weapons
in the group sequentially, while the All mode fires all weapons in unison. Additionally you can fire only one particular
weapon by using IDACTION_WEAPON_SELECT. When this tag is used, you will continue to fire that weapon until you select
a group.
Weapon Linking and the Alpha Strike feature (bug) have both been removed, as the new weapon system makes them obsolete.
IDACTION_WEAPON_SELECT Selects weapon, number selects weapon
IDACTION_WEAPON_GROUP_SELECT Selects weapon group, numbers range from 0.0 to 2.0
IDACTION_WEAPON_ADJ Cycles through all weapons, number is added to current weapon selection
IDACTION_WEAPON_GROUP_ADJ Cycles through weapon groups, number is added to current group selection
IDACTION_WEAPON_MODE_SELECT Toggles mode of fire, 0.0 = fire series, 1.0 = fire all
IDACTION_WEAPON_GROUP_TOGGLE Toggles weapon in/out of selected weapon group, number indicates weapon
The way Starsiege handles joystick hat input has changed also. The original x, y axes can still be used, but the hat can
also be treated like a set of 4 buttons labeled (upov,dpov,rpov,lpov). The hat isn't automatically centered.
This means that if you were using the hat to zoom in/out, or some other action that requires a postive and negative value,
include center in the bindAction call.
2. CREATING A CUSTOM KEYMAPPING
------------------------------------------------------------------------------------------------------
The easiest way to get started is to open one of the included keymaps in ..\es3Alpha\keymaps directory,
and use that keymap file as reference. Once you've modified the file to your liking,
save the *.cs file in ..\es3Alpha\keymaps directory.
The Keymapping files can be nested, or "included" within each other. In the Joystick.cs file,
the following lines indicate other keymap files that are combined with the joystick.cs
file to create a complete keymap for multiple input devices and functions:
#------------------------------------------------------------------------------
# include generic camera controls
exec _defCamera.cs
#------------------------------------------------------------------------------
# include generic keyboard controls
exec _defKeyboard.cs
This is done mainly for convenience. If you wish to create a single file that contains
"everything" you can do so.
3. USING MAKES AND BREAKS
-------------------------------
It is crucial to use the "make" and "break" keywords correctly. When binding input to actions such as
firing, moving, or looking ( actions that should generally occur only when holding down a key or button ),
use the "make" to initiate the action, and "break" to turn it off.
Example:
"bindAction( keyboard, make, space, TO, IDACTION_FIRE, 1.0);"
"bindAction( keyboard, break, space, TO, IDACTION_FIRE 0.0);"
The value at the end represents a toggle, where 1.0 is on and 0.0 is off.
4. USING PARAMETERS
--------------------------------
Most actions require a value at the end of a binding statement ( see ACTION DEFINITIONS below for more info ).
There are five additional parameters that you have the option of using. They are:
flip: Reverses the coordinate system for the chosen action (ACTION_YAW -1.0 would turn left instead of right)
Example : "bindAction( joystick, yaxis, TO, IDACTION_LOOK_Y, flip);"
deadzone: Kills all input that lies within the specified range.
(e.g.,If you enter 'deadzone 0.1', the deadzone will be 10% of your total axis ).
Example: "bindAction( joystick, xaxis, TO, IDACTION_YAW, deadzone, 0.1);"
center: Centers your the coordinate system of your control device from (0.0, 1.0) to (-1.0,1.0)
Example: "bindAction( joystick, yaxis, TO, IDACTION_SPEED, center);"
square: Changes the growth rate of constant input (e.g., pulling down on a joystick)from linear to parabolic.
Example: "bindAction( joystick, yaxis, TO, IDACTION_SPEED, square);"
scale: Scales the sensitivity of an input signal, based on the value you give it.
Example:"bindAction( joystick, zaxis, TO, IDACTION_SPEED, scale, 0.2);"
Note that it is possible to string five of these parameters onto the end of one action. For example,
you could enter a line that looked like this:
"bindAction( joystick, yaxis, TO, IDACTION_SPEED, deadzone, 0.2, center, square, scale, 0.1);".
This would have the effect of giving a deadzone of 20% in the center the yaxis of your joystick,
while scaling the input signal by a factor of 0.1. Pushing forward would increase your HERC's forward throttle
at a parabolic rate, and pulling back would do the same thing, in reverse.
5. LOADING A CUSTOM KEYMAP FILE
--------------------------------
In order to load a custom keymap file, it needs to be located in the ..\es3Alpha\keymaps directory.
At the Player Setup Menu, click on the Input Configuration field. This will call up a list of the
available KeyMap files. Highlight the one you want to load.
6. INPUT
--------------------------------------------------------------------------------------------
JOYSTICK INPUT( keyword is "joystick" ):
"zaxis" Throttle control
"yaxis" Up/down
"xaxis" Left/right
"rzaxis" Twist left right (e.g., sidewinder joysticks)
"rxaxis" extra input
"ryaxis" extra input
"slider0" extra input
"slider1" extra input
"xpov" left/right on joystick hat
"ypov" up/down on hat
"upov" up direction on hat
"dpov" down direction on hat
"rpov" right direction on hat
"lpov" left direction on hat
"button0" varies per joystick
"button1"
"button2"
"button3"
"button4"
"button5"
"button6"
"button7"
"button8"
"button9"
"button10"
"button11"
"button12"
MOUSE INPUT( keyword is "mouse" ):
"xaxis"
"yaxis"
"zaxis"
"button0"
"button1"
"button2"
"button3"
KEYBOARD INPUT( keyword is "keyboard" ):
Note that key modifiers( alt, shift, control) are supported,
but the modifier must come before the key (e.g., "shift s").
Any key not listed below is represented by it's direct keyboard character.
"escape" Esc
"backspace" BackSpace
"tab" Tab
"enter" Enter
"control" Control
"shift" Shift
"alt" Alt
"capslock" Caps Lock
"numlock" Num Lock
"numpad1" Numpad1
"numpad2" Numpad2
"numpad3" Numpad3
"numpad4" Numpad4
"numpad5" Numpad5
"numpad6" Numpad6
"numpad7" Numpad7
"numpad8" Numpad8
"numpad9" Numpad9
"numpad0" Numpad0
"numpad+" Numpad plus
"numpad-" Numpad minus
"numpad/" Numpad slash
"numpad*" Numpad star
"scroll" Scroll Lock
"numpadequals" Numpad Equals
"stop" Stop
"numpadenter" Numpad Enter
"numpadcomma" Numpad Comma
"sysreq" Print Screen/ Sys Req
"home" Home
"up" Up Arrow
"down" Down Arrow
"left" Left Arrow
"right" Right Arrow
"end" End
"next" Next
"insert" Insert
"delete" Delete
"win" Windows
"app" Apps
7. ACTION DEFINITIONS
------------------------------------------------------------------------------
ACTIONS PARAMETER DEFINITIONS
IDACTION_FIRE Fires weapon, 1.0 = true, 0.0 = false
IDACTION_WEAPON_SELECT Selects weapon, number selects weapon
IDACTION_WEAPON_GROUP_SELECT Selects weapon group, numbers range from 0.0 to 2.0
IDACTION_WEAPON_ADJ Cycles through all weapons, number is added to current weapon selection
IDACTION_WEAPON_GROUP_ADJ Cycles through weapon groups, number is added to current group selection
IDACTION_WEAPON_MODE_SELECT Toggles mode of fire, 0.0 = fire series, 1.0 = fire all
IDACTION_WEAPON_GROUP_TOGGLE Toggles weapon in/out of selected weapon group, number indicates weapon
IDACTION_REACTOR Toggles reactor, no number required
IDACTION_LOOK_X Looks left/right, -1.0 = left, 1.0 = right
IDACTION_LOOK_Y Looks up/down, -1.0 = down, 1.0 = up
IDACTION_LOOK_CENTER Look center, No number required
IDACTION_MOVE_X Move left/right, -1.0 = left, 1.0 = right
IDACTION_MOVE_Y Move forward/backward, 1.0 = forward, 1.0 = back
IDACTION_MOVE_Z Move up/down, -1.0 = down, 1.0 = up
IDACTION_PITCH Pitch rotation
IDACTION_YAW Yaw rotation
IDACTION_ROLL Roll rotation
IDACTION_STOP Stops HERC, no Number needed
IDACTION_SPEED Speed, 1.0 = positive acceleration, -1.0 = negative acceleration
IDACTION_TURBO Toggles turbo mode
IDACTION_CROUCH Toggle Crouch, no number needed
IDACTION_CAMOUFLAGE Toggle Camouflage, no number needed
IDACTION_TARGET_ADJ_ENEMY next/prev enemy target, -1.0 = cycle back, 1.0 = cycle forward
IDACTION_TARGET_ADJ_FRIENDLY next/prev friendly, -1.0 = cycles back, 1.0 = cycles forward
IDACTION_TARGET_CLOSEST_ENEMY targets closest enemy, no number needed
IDACTION_TARGET_CLOSEST_FRIENDLY targets closest friendly, no number needed
IDACTION_TARGET_SELECTED targets object currently under aiming reticle, no number needed
IDACTION_USE_PROJECTILE_CAM Sets projectile cam for next shot
IDACTION_SENSOR_MODE_TOGGLE Toggles between active and passive radar, no number needed
IDACTION_SENSOR_RANGE_TOGGLE Cycles through ranges, no number needed
IDACTION_SENSOR_RANGE_SET Sets range, number indicates something
IDACTION_SHIELD Toggles Shield on/off, no number needed
IDACTION_SHIELD_TRACK Shield tracking on/off, no number needed
IDACTION_SHIELD_FOCUS_ADJ Adjusts shield balance, number is added to current shield focus
IDACTION_SHIELD_FOCUS_SET Set shield balance, number sets shield focus
IDACTION_SHIELD_ROTATION_ADJ Adjusts shield rotation, number is added to current shield rotation
IDACTION_SHIELD_ROTATION_SET Set shield rotation, number sets shield rotation
IDACTION_NAVPOINT_NEXT Selects next navpoint, no number needed
IDACTION_NAVPOINT_PREV Selects previous navpoint, no number needed
IDACTION_NAVPOINT_SET Selects navpoint, number indicates which navpoint is selected
IDACTION_DAMAGE_ROTATE Toggles HUD damage indicator rotation
IDACTION_DAMAGE_ANIMATE Toggles HUD damaga indicator animation
IDACTION_NEXT Selects next HERC while in OrbitCam
IDACTION_PREV Selects previous HERC while in OrbitCam
IDACTION_REVERSE_THROTTLE Toggle forward/reverse throttle
IDACTION_ZOOM_SET Set zoom factor, number indicates zoom factor
IDACTION_ZOOM_ADJ Adjust zoom factor, number is added to current zoom factor
IDACTION_CENTER_TURRET Centers Turret
IDACTION_CENTER_BODY Centers Body
IDACTION_AUTOTARGET Autotargets enemy, no number needed
8. EXAMPLES
-----------------------------------------------------------------------------------
These examples are some of the more commonly asked questions about creating a custom keymapping:
Q: How do I use my joystick axis to look?
A: bindAction( joystick, xaxis, TO, IDACTION_LOOK_X, deadzone, 0.1, center, square);
bindAction( joystick, yaxis, TO, IDACTION_LOOK_Y, deadzone, 0.1, center, square);
Q: How do I use the joystick hat to look?
A: bindAction( joystick, xpov, TO, IDACTION_LOOK_X, center, flip);
bindAction( joystick, ypov, TO, IDACTION_LOOK_Y, center);
Q: How do I reconfigure the throttle ?
A: It depends on which device you want to use as input. For keyboard, you might want something like this:
bindAction( keyboard, make, up, TO, IDACTION_SPEED, +1.0);
bindAction( keyboard, break, up, TO, IDACTION_SPEED, 0.0);
For joystick zaxis ( throttle ):
bindAction (joystick, zaxis, TO, IDACTION_SPEED, deadzone, 0.1, center, square);
Q: When I look with my mouse/ joystick/ keyboard, the HERC response seems backwards. How do I fix this ?
A: Simply add the flip parameter at the end of the appropriate action in your custom keymap file.
If flip is already there, remove it. This will flip the response of your HERC.
Q: I added a keyboard command, but it dosn't seem to work. What's the deal?
A: Make sure you typed 'make' or 'break' before the specific key you wanted to bind. Otherwise nothing will happen.
Also, key combinations involving more than two keys will not work.
Q: Whenever I try to use the joystick hat, my HERC fires or does some other incorrect action.
A: Most likely you need to recalibrate your joystick. To do this, select Start menu/settings/control panel/Game Controllers.
and calibrate.